//package com.xls.commonlibrary.ad.adn.tx.splash;
//
//import android.util.Log;
//import android.webkit.ValueCallback;
//import android.widget.FrameLayout;
//
//import androidx.appcompat.app.AppCompatActivity;
//import androidx.lifecycle.DefaultLifecycleObserver;
//import androidx.lifecycle.LifecycleOwner;
//
//import com.qq.e.ads.splash.SplashAD;
//import com.qq.e.ads.splash.SplashADListener;
//import com.qq.e.comm.util.AdError;
//import com.xls.commonlibrary.ad.adn.tx.util.DownloadConfirmHelper;
//
//import io.reactivex.rxjava3.annotations.NonNull;
//
//// 腾讯开屏广告
//public class TxSplashUtil {
//
////    private String posId = "9093517612222759"; //  demo id
//
//    private String posId = "4096982834047501"; // 正式 id
//
//    private int fetchDelay = 2;
//    private String TAG = "TxUtil";
//
//    private static volatile TxSplashUtil singleton = null;
//
//    private TxSplashUtil() {
//    }
//
//    public static TxSplashUtil getInstance() {
//        if (singleton == null) {
//            synchronized (TxSplashUtil.class) {
//                if (singleton == null) {
//                    singleton = new TxSplashUtil();
//                }
//            }
//        }
//        return singleton;
//    }
//
//
//    AppCompatActivity activity;
//    ValueCallback<Boolean> valueCallback;
//
//    public void loadSplash(@NonNull AppCompatActivity activity,
//                           @NonNull FrameLayout container,
//                           @NonNull ValueCallback<Boolean> valueCallback
//    ) {
//
//        this.activity = activity;
//        this.valueCallback = valueCallback;
//        this.mSplashContainer = container;
//
//        addLifecycle();
//        initListeners();
//
//
//        loadAndShowSplashAd();
//
//    }
//
//    private void callbackSuccess() {
//        if (this.valueCallback == null) return;
//        this.valueCallback.onReceiveValue(true);
//    }
//
//    private void callbackFail() {
//        if (this.valueCallback == null) return;
//        this.valueCallback.onReceiveValue(false);
//    }
//
//
//    private void addLifecycle() {// 重要
//        if (this.activity == null) return;
//
//        this.activity.getLifecycle().addObserver(new DefaultLifecycleObserver() {
//            // 还有很多生命周期都可以感知
//            // 这里只关注 onDestroy()的注销ad对象
//            @Override
//            public void onDestroy(LifecycleOwner owner) {
//                DefaultLifecycleObserver.super.onDestroy(owner);
////                Logger.d("===========LifecycleOwner=========onDestroy===========");
//
//
//                /** 6、在onDestroy中销毁广告 */
//
//
//            }
//        });
//    }
//
//
//    /////////////////////////////////   以下SDK代码   ////////////////////////////////////////////
//
//
//    private FrameLayout mSplashContainer;
//
//    SplashADListener splashADListener;
//    private SplashAD splashAD;
//
//    private void loadAndShowSplashAd() {
//        splashAD = new SplashAD(activity, posId, splashADListener, fetchDelay);
//        splashAD.fetchFullScreenAndShowIn(mSplashContainer);
//    }
//
//    private void initListeners() {
//
//        splashADListener = new SplashADListener() {
//            @Override
//            public void onADDismissed() {
//                Log.i(TAG, "splash onADDismissed");
//
//                callbackSuccess();
//            }
//
//            @Override
//            public void onNoAD(AdError adError) {
//
//                Log.i(TAG, "splash adError:" + adError.getErrorCode() + adError.getErrorMsg());
//                callbackFail();
//
//            }
//
//            @Override
//            public void onADPresent() {
//                Log.i(TAG, "splash onADPresent");
//            }
//
//            @Override
//            public void onADClicked() {
//                Log.i(TAG, "splash onADClicked");
//            }
//
//            @Override
//            public void onADTick(long l) {
//                Log.i(TAG, "splash onADTick");
//            }
//
//            @Override
//            public void onADExposure() {
//                Log.i(TAG, "splash onADExposure");
//            }
//
//            @Override
//            public void onADLoaded(long expireTimestamp) {
//                Log.i(TAG, "splash onADLoaded");
//
//
//                if (DownloadConfirmHelper.USE_CUSTOM_DIALOG) {
//                    splashAD.setDownloadConfirmListener(DownloadConfirmHelper.DOWNLOAD_CONFIRM_LISTENER);
//                }
//
//                reportBiddingResult(splashAD);
//
//
//                if (splashAD != null) {
//                    splashAD.showFullScreenAd(mSplashContainer);
//                }
//            }
//        };
//    }
//
//    private void reportBiddingResult(SplashAD splashAD) {
//        DemoBiddingC2SUtils.reportBiddingWinLoss(splashAD);
//        if (DemoUtil.isNeedSetBidECPM()) {
//            splashAD.setBidECPM(300);
//        }
//    }
//}
